Skip to content

Fix docs/PyPI version mismatch with versioned RTD builds#149

Merged
igerber merged 1 commit intomainfrom
review-fix-issue-146
Feb 15, 2026
Merged

Fix docs/PyPI version mismatch with versioned RTD builds#149
igerber merged 1 commit intomainfrom
review-fix-issue-146

Conversation

@igerber
Copy link
Copy Markdown
Owner

@igerber igerber commented Feb 15, 2026

Summary

  • Fix docs/PyPI version mismatch (closes SyntheticDiD docs/examples use zeta_omega/zeta_lambda, but diff-diff==2.3.0 constructor only accepts lambda_reg/zeta #146) — RTD now builds from the checked-out source at each git ref instead of installing from PyPI, so autodoc always matches the code version
  • Add Rust toolchain (rust: "1.82") to RTD build config for maturin
  • Consolidate docs dependencies into pyproject.toml [docs] extra, delete docs/requirements.txt
  • Remove sys.path.insert hack from docs/conf.py (unnecessary with proper source install)
  • Add dev-version warning banner on RTD branch builds (e.g. /en/latest/)
  • Add short version for Sphinx version selector

Methodology references (required if estimator / math changes)

  • N/A — no methodology changes

Validation

  • Tests added/updated: No test changes (build config / docs only)
  • Local docs build verified: sphinx -b html succeeds with correct version=2.3, release=2.3.0
  • Dev banner correctly inactive in local builds (no RTD env vars)

Post-merge manual steps (RTD dashboard)

  1. Set default version to stable
  2. Activate v2.3.0 tag
  3. Add automation rule: "Activate new tag versions matching v*"
  4. Ensure "Non-stable version notification" addon is enabled

Security / privacy

  • Confirm no secrets/PII in this PR: Yes

Generated with Claude Code

RTD now installs from the checked-out git ref instead of PyPI, so autodoc
always matches the code at that version. Adds Rust toolchain for maturin
build, consolidates docs deps into pyproject.toml, and adds a dev-version
warning banner for branch builds.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

Overall Assessment: ✅ Looks good

Executive Summary

  • No estimator, identification, weighting, or inference changes detected in this diff; methodology registry cross-check not triggered.
  • RTD now installs from source with docs extras and a pinned Rust toolchain, aligning autodoc with the checked-out ref. .readthedocs.yaml:L6-L24
  • Added RTD dev-version warning banner and short version for Sphinx’s selector. docs/conf.py:L10-L90
  • Docs requirements are now driven by pyproject.toml extras (deleted docs/requirements.txt).

Methodology

  • No findings. Diff is limited to RTD config, Sphinx config, and changelog; no estimator/math/SE/assumption logic touched.

Code Quality

  • No findings.

Performance

  • No findings.

Maintainability

  • No findings.

Tech Debt

  • No findings.

Security

  • No findings.

Documentation/Tests

  • P3 Impact: Local docs builds now require the package to be installed because docs/conf.py imports diff_diff without a sys.path shim, which may surprise contributors running Sphinx directly. Concrete fix: Add a short note to dev docs or README (e.g., “pip install -e .[docs] before sphinx-build”). docs/conf.py:L6-L15

@igerber igerber merged commit 31afd0b into main Feb 15, 2026
1 check passed
@igerber igerber deleted the review-fix-issue-146 branch February 15, 2026 22:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

SyntheticDiD docs/examples use zeta_omega/zeta_lambda, but diff-diff==2.3.0 constructor only accepts lambda_reg/zeta

1 participant